'Switch-It'
Switch Applications via
Keyboard
Version 1.5 - September 16, 1997
Copyright 1996-97 Michel MARIANI
Contents
Introduction
- With Switch-It, you can use the keyboard to switch between
applications.
- Switch-It is yet another application switcher. It has
been mainly developed to suit my needs, but I guess it shall be
useful to anybody who looks for a simple piece of
software.
- Switch-It works under System 7.0 or later, and is distributed
as freeware.
Feature Overview
- Switch-It lets you switch between running applications using
the keyboard.
- Switch-It allows you to request the termination of any number
of running applications.
- Many parameters can be easily customized, including hot keys,
font name and size, text and background colors, etc.
System Requirements
Switch-It only works under MacOS System 7.0 or later (System 7.5
or newer is recommended). It has been successfully tested on
Macintosh Classic, PowerBook 520C and Performa 6400.
Installation
To use Switch-It feature, place its file in the Control Panels
folder and then restart the computer.
Warning:
The version number at the end of the control panel's file name has
been dropped soon after version 1.4.2. Now, under the improved naming
scheme, a new version simply overwrites the previous one. In case
your last installed version is "Switch-It 1.4.2", don't forget to
throw (or hide) it away before installing the new version.
Directions for Use
- Hold down the activator key (Command) and press the switch key
(Tab) to cycle through the running applications. Release the
activator key to select an application.
- Having also the Shift key depressed at switch time reverses
the direction of cycling.
- Switch-It action can be canceled by pressing the cancel key
(Escape) before releasing the activator key (Command).
- While in switch mode, and provided 'Allow Send Quit' has been
enabled in the Control Panel, it is possible to make running
applications quit by pressing the key labeled 'Q'. The application
icon (or its name, if the display of the icon has been disabled)
is then marked with a red cross, in a toggle way. All the
terminate requests of the selected applications are actually
performed when the activator key is released (which means that the
whole process can be aborted using the Cancel key).
- Also while in switch mode, it is possible to cycle
automatically through all running applications by pressing the key
labeled 'A' (provided 'Allow Auto Scan' has been enabled in the
Control Panel). The scanning starts (the next application is
displayed every half a second) and can be stopped by pressing any
key.
Standard Customization (Control Panel)
- Changes made in the Control Panel take effect immediately.
Advanced Customization
(ResEdit)
Here is the description of some resources of Switch-It which could
be modified by a "power user" through ResEdit (templates are provided
where useful):
General Settings Resources
- 'Stgs', -4063: sets the window sizes (standard and reduced),
the 'Send Quit' and 'Auto Scan' character codes, and the cycling
delay of the 'Auto Scan' mode, expressed in ticks (60ths of
second).
Keyboard-Related Resources
- 'Keys', -4064 and -4063: contain the lists of switch and
cancel key codes which will appear in a readable form in the
control panel's pop-up menus. These key codes are
keyboard-dependent; you can get possible values from the 'KCHR'
resources in the System file.
Remarks:
- Always make a back-up copy of the original file before
modifying it by ResEdit!
- Unlike settings made through the control panel, which are kept
in a separate preferences file, changes made by ResEdit will be
lost when a new version of the software becomes available.
- Changes take effect at restart.
Known Problems and
Shortcomings
- Switch-It doesn't use the official Apple-sanctioned method of
hooking key events through JGNEFilter, which would prevent
Switch-It from working when an input method is active, while
typing Chinese or Japanese. Actually, most application switchers
that I know don't work under such circumstances.
- There is still a bug preventing Switch-It from working
correctly when the front application behaves in a non-standard way
(like a well-known spreadsheet program): hot keys are simply
"eaten" and cannot be hooked. Please let me know if you have any
information about a possible patch or bypass.
- While the pop-up window is displayed, any other visible
activity is suspended: application windows, menu bar, etc. appear
to be "frozen".
- In order to make running applications quit, Switch-It uses the
sending of 'quit' AppleEvents. Unfortunately, this method does not
work (nothing happens) if the front application is not
AppleEvent-aware.
"To Do" List
- Improve the documentation.
- Must solve the "eaten" keys problem.
- Add a balloon help in the Control Panel.
- Add a "Revert to Default Settings" push-button in the Control
Panel.
- Implement a "Hide Other Applications" feature.
- Implement a list view (possibly in a separate control panel?).
Version History
Version 1.5 - 16 Sep 97
- 16 Sep 97: Third public release limited to web site, mainly
bug fixes and cosmetic changes. Documentation updated.
- 11 Sep 97: Use true mouse-down event provided by cdev call of
code resource.
- 07 Sep 97: Display an alert when Switch-It was not loaded at
start-up time.
- 31 Aug 97: Use TruncString to display application name in
switch window.
- 28 Aug 97: Restored use of MoreMasters at init time.
- 25 Aug 97: Change of keyboard is now checked every second in
the control panel.
- 24 Aug 97: Fixed bug of missing icons for applications on
removable media.
- 20 Aug 97: Key "1" (on a US keyboard) added to the list of
possible cancel keys.
- 14 Aug 97: Clicking in the "About..." button or canceling
the standard Color Picker dialog don't write prefs back to disk.
Version 1.4.3 - 05 Aug 97
- 05 Aug 97: Second public release; no new features, mainly bug
fixes and cosmetic changes. Documentation updated.
- 02 Aug 97: Fixed the color picker crash under MacOS 8 (use
PickColor instead of GetColor).
- 02 Aug 97: File name doesn't include the version number any
more.
- 02 Aug 97: Faster animation of start-up icon.
- 02 Aug 97: Better display of color user items when B&W.
Push-button "Color..." is relabeled "Text Color..."
- 02 Aug 97: Fixed bad redraw of color user item after the Color
Picker dialog.
- 02 Aug 97: Fixed the white border problem in switch window.
Version 1.4.2 - 20 Jul 97
- 20 Jul 97: First public release. Creation of a "Read Me" file
in SimpleText and HTML formats. Improvement of Get Info short
definition and Finder balloon help. References to 'process' are
replaced by 'application'.
- 13 Jun 97: The user can now modify the list of switch and
cancel hot keys by ResEdit: resources 'Keys'.
- 12 Jun 97: In the control panel, hot keys menus are updated
every time the current keyboard changes, and keys are shown in the
keyboard script.
- 10 Jun 97: Key codes are 'char', no more 'short'. Preferences
template updated.
- 10 Jun 97: Cosmetic changes: copyright now spans over years
(1996-97).
- 08 Jun 97: Switch key and cancel key are now identified by key
code, no more by char code. Preferences must be reset by user.
- 07 Jun 97: Backquote is now a cancel key, not a switch key.
- 30 Mar 97: Handling of double-click in cdev : color user
items.
Version 1.4.1 - 22 Mar 97
- 21 Mar 97: Shift key reverses current switching direction in
auto-scan.
- 21 Mar 97: Auto-condense if text doesn't fit in display
rectangle.
- 21 Mar 97: Implemented Reduced Window feature.
- 21 Mar 97: Style of display font can be bold.
- 21 Mar 97: Cosmetic changes in Control Panel (push-buttons to
select text & background colors).
- 13 May 97: Correction of a stupid bug preventing the reading
of modified settings through ResEdit.
- 09 Apr 97: Any other key event aborts the display.
- 30 Mar 97: Handling of choice of sans-serif digits.
Version 1.4 - 18 Mar 97
- 18 Mar 97: Implemented new Auto Scan feature.
- 18 Mar 97: Added a settings resource 'Stgs' allowing the
modification of the window size & Send Quit and Auto Scan
characters. Changed the type of resource 'PREF' to 'Prfs'. The old
preferences file is now obsolete (furthermore, the fields of its
structure have been modified).
- 18 Mar 97: Allow auto-key no more implemented. Shall be an
Auto Scan feature through an other hot key (similar with the
handling of Send Quit).
Version 1.4 - 18 Mar 97
- 18 Mar 97: Implemented new Auto Scan feature.
- 18 Mar 97: Added a settings resource 'Stgs' allowing the
modification of the window size & Send Quit et Auto Scan
characters. Changed the type of resource 'PREF' to 'Prfs'. The old
preferences file is now obsolete (furthermore, the fields of its
structure have been modified).
- 18 Mar 97: Allow auto-key no more implemented. Shall be an
Auto Scan feature through an other hot key (similar with the
handling of Send Quit).
Version 1.3.1 - 17 Mar 97
- 17 Mar 97: Handling of arrow keys as switch keys.
- 16 Mar 97: Handling of send quit apple event.
- 16 Mar 97: Bug : trap at init time when keyboard is used
before the loading of the Finder is completed. Fixing attempt.
- 15 Mar 97: First beta version tested by M.R. on a PowerMac.
- 12 Mar 97: The clock/calendar stuff is now a stand-alone
Control Panel called Ephemerid.
- 09 Mar 97: Use of full process list.
Version 1.3 - 09 Feb 97
- 09 Feb 97: Now a Control Panel (no more an Extension).
Version 1.2.2 - 07 Feb 97
- 07 Feb 97: Added a clock.
Version 1.2.1 - 17 Jan 97
- 17 Jan 97: Added window behaviour with icon handling.
- 10 Jan 97: Let's forget the JGNEFilter. Try to hook
SystemEvent et SystemTask!
Version 1.2 - 11 Nov 96
- 11 Nov 96: Let's forget the JGNEFilter. Try to hook
OSEventAvail et GetOSEvent!
Version 1.1 - 05 Jun 96
- 05 Jun 96: Added backwards process switching (shift key).
- 30 May 96: Used JGNEFilter, Apple-sanctioned method for
filtering events.
- 23 May 96: Added animated icon at start-up (rotating arrow).
Version 1.0 - 03 Aug 95
- 03 Aug 95: Hooked SystemEvent instead of OSEventAvail,
OSNextEvent, and SystemTask; corrects bug of lost key strokes.
- 09 May 95: Creation.
Legal Bits
Copyright 1996-97 Michel MARIANI. All Rights Reserved.
Written with THINK Project Manager 7.0.4, THINK C 7.0.3 & ResEdit
2.1.3.
This software is freeware, it may be
freely distributed, but always in its unmodified form and together
with this document. It may not be sold or resold, or bundled with any
other commercial product. You may, however, include the software on a
CD-ROM or floppy collection, provided that the original package is
included in its entirety and a complimentary copy is sent to the
author. Please contact the author to obtain the most recent
version.
You expressly acknowledge and agree
that use of the software is at your sole risk. The software and the
related documentation are provided "as is" and without warranty of
any kind, express or implied, including, but not limited to, the
implied warranties of merchantability and fitness for a particular
purpose.
Author's Address
If you have questions, suggestions, words of appreciation or bug
reports, you can contact me at the following address:
Snail Mail
Michel MARIANI
47, rue des Remparts-d'Ainay
69002 LYON
FRANCE
E-Mail
mmariani@wanadoo.fr
Web Site
New versions, updates, and other pieces of software shall be
available at:
http://perso.wanadoo.fr/mmariani/soft/soft.html
Acknowledgements
Special thanks to the following people:
- Michel Rousset, for testing and providing useful comments, and
proofreading the first version of this document.
- Cj Zinngrabe, for pointing out a crash under MacOS 8, and
kindly testing the fix.
- Julian E Gomez, for pointing out a problem of missing
icon in System 7.6, and kindly testing the current beta version.
Here is the list (in alphabetic order) of all the nice folks who
took the time to send me questions, suggestions, words of
appreciation or bug reports; I really appreciate getting feedback, it
is highly motivating and encouraging:
- Stefan Anthony
- Wil Baden
- Sean Embury
- Julian E Gomez
- S.M. King
- Steve O'Neill
- Peter Terhoeven
- Cj Zinngrabe
And finally, here is the list of people (and magazines) who asked
me permission to include Switch-It on their CD-ROM:
- Motoko Mori (Mac People Magazine - Japan)
- Yasuto Niyama (Mac Fan internet - Japan)